package com.keensense.vcm.model;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 * @author lanjian
 * @date 2020/5/7 11:53 上午
 */
@XmlRootElement(name = "response")
public class GetIntelligentAnalysisListResponse extends BaseResponse{

    @XmlElement
    private Page page;

    @XmlElementWrapper(name = "task_list")
    @XmlElement(name = "task")
    private List<Task> taskList;


    @XmlTransient
    public Page getPage() {
        return page;
    }

    public void setPage(Page page) {
        this.page = page;
    }

    @XmlTransient
    public List<Task> getTaskList() {
        return taskList;
    }

    public void setTaskList(List<Task> taskList) {
        this.taskList = taskList;
    }

    public static class Page {

        @XmlElement
        private Integer currentPage;

        @XmlElement
        private Integer rows;

        @XmlElement
        private Integer total;

        @XmlTransient
        public Integer getCurrentPage() {
            return currentPage;
        }

        public void setCurrentPage(Integer currentPage) {
            this.currentPage = currentPage;
        }

        @XmlTransient
        public Integer getRows() {
            return rows;
        }

        public void setRows(Integer rows) {
            this.rows = rows;
        }

        @XmlTransient
        public Integer getTotal() {
            return total;
        }

        public void setTotal(Integer total) {
            this.total = total;
        }
    }

    public static class Task {

        @XmlElementWrapper(name = "algorithms")
        @XmlElement(name = "algorithm")
        private List<String> algorithms;

        @XmlElement
        private String analysisTime;

        @XmlElement
        private String caseFileId;

        @XmlElement
        private Long createDate;

        @XmlElement
        private String id;

        @XmlElement
        private String priority;

        @XmlElement
        private String taskId;

        @XmlElement
        private String taskName;

        @XmlElement
        private Integer taskProgress;

        @XmlElement
        private Integer taskStatus;

        @XmlElement
        private String cameraSn;

        @XmlElement
        private Integer taskType;

        @XmlElement
        private Integer videoType;

        @XmlTransient
        public List<String> getAlgorithms() {
            return algorithms;
        }

        public void setAlgorithms(List<String> algorithms) {
            this.algorithms = algorithms;
        }

        @XmlTransient
        public String getAnalysisTime() {
            return analysisTime;
        }

        public void setAnalysisTime(String analysisTime) {
            this.analysisTime = analysisTime;
        }

        @XmlTransient
        public String getCaseFileId() {
            return caseFileId;
        }

        public void setCaseFileId(String caseFileId) {
            this.caseFileId = caseFileId;
        }

        @XmlTransient
        public Long getCreateDate() {
            return createDate;
        }

        public void setCreateDate(Long createDate) {
            this.createDate = createDate;
        }

        @XmlTransient
        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        @XmlTransient
        public String getPriority() {
            return priority;
        }

        public void setPriority(String priority) {
            this.priority = priority;
        }

        @XmlTransient
        public String getTaskId() {
            return taskId;
        }

        public void setTaskId(String taskId) {
            this.taskId = taskId;
        }

        @XmlTransient
        public String getTaskName() {
            return taskName;
        }

        public void setTaskName(String taskName) {
            this.taskName = taskName;
        }

        @XmlTransient
        public Integer getTaskProgress() {
            return taskProgress;
        }

        public void setTaskProgress(Integer taskProgress) {
            this.taskProgress = taskProgress;
        }

        @XmlTransient
        public Integer getTaskStatus() {
            return taskStatus;
        }

        public void setTaskStatus(Integer taskStatus) {
            this.taskStatus = taskStatus;
        }

        @XmlTransient
        public String getCameraSn() {
            return cameraSn;
        }

        public void setCameraSn(String cameraSn) {
            this.cameraSn = cameraSn;
        }

        @XmlTransient
        public Integer getTaskType() {
            return taskType;
        }

        public void setTaskType(Integer taskType) {
            this.taskType = taskType;
        }

        @XmlTransient
        public Integer getVideoType() {
            return videoType;
        }

        public void setVideoType(Integer videoType) {
            this.videoType = videoType;
        }

    }
}
